Micron Document
🎖️GitЯра🎖️

Node / meshtastic / Meshtastic-Android / files / docs / ht-rHT / user / messages-and-channels.md

Displaying Raw • View renderedDownload

docs/ht-rHT/user/messages-and-channels.md fix/qr-error-correction (7b45f84f) Text, 12.61 KB

---
title: Messages & Channels
parent: User Guide
nav_order: 3
last_updated: 2026-07-11
description: Send and receive messages, manage channels, configure encryption, search conversations, and use quick chat, reactions, and message actions.
aliases:
Tff7b72- channels
Tff7b72- direct-messages
Tff7b72- messaging
Tc9d1d9 - conversations
Tc9d1d9---

Tc9d1d9# Messages & Channels

Meshtastic supports two communication modes: **channel broadcasts** and **direct messages**.

Tc9d1d9## Channels

Channels are shared communication groups. All nodes configured with the same channel key can read and send messages on that channel.

Tc9d1d9### Default Channel

Every Meshtastic device comes with a default **LongFast** channel. This is an unencrypted channel used for general mesh communication.

Tc9d1d9### Channel Security

Channels support multiple encryption levels:

| Icon | Security Level | Deskripsyon |
| ---- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| 🔒 | PSK (256-bit AES) | Fully encrypted with a strong pre-shared key. Only nodes with the matching key can read messages. |
| 🔐 | PSK (128-bit AES) | Encrypted with a shorter key. Secure for most uses but 256-bit is preferred for sensitive data. |
| 🔓 | Default / Open | Uses the well-known default key. **Any Meshtastic device** on the same preset can read these messages. |
| ⚠️ | Insecure + Position | Open channel that also broadcasts your GPS position. Use with caution in public meshes. |

Tff7b72> 🔒 **Security Tip:** Always configure a unique PSK for private communications. The default channel is intentionally open so new users can discover the mesh — but you should create a separate encrypted channel for anything sensitive.

Tc9d1d9### Adding a Channel

Tff7b721. Navigate to **Settings → Channels**.
Tff7b722. Tap **Add Channel** or scan a QR code.
Tff7b723. Configure the channel name and encryption key.
Tff7b724. Share the channel URL/QR code with others who need access.

Tapping a channel shows its details and sharing options.

Tc9d1d9## Direct Messages

Direct messages (DMs) are point-to-point encrypted communications between two specific nodes.

Tc9d1d9### Sending a Direct Message

Tff7b721. Open the **Messages** tab.
Tff7b722. Select a node from your contacts list or tap a node in the node list.
Tff7b723. Type your message and tap **Send**.

Tc9d1d9### Message States

A status label appears under **your own** outgoing messages only (incoming messages from others show no status label):

| State | Meaning |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Sending… | Queued or already handed to the radio, not yet resolved either way (queued and en-route both show this same text) |
| Delivered to recipient | The strongest confirmation for a direct message — an acknowledgment came back |
| Delivered to mesh | For a channel broadcast, the message reached the mesh (broadcasts have no per-recipient ack) |
| Relayed, not confirmed by recipient | For a direct message, shown in a warning color — the message was relayed but no acknowledgment has come back yet |
| Routing via SF++ chain… | Being routed/buffered by the Store & Forward Plus Plus chain |
| Confirmed on SF++ chain | Confirmed delivered via the SF++ chain |
| Erè | Delivery failed — tap the status for the specific reason (see Delivery Errors below) |

Tc9d1d9### Delivery Errors

When a message fails to deliver, the error indicator shows what went wrong:

| Erè | Meaning | What to Do |
| ---------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| No Route | No path exists to the destination node | The recipient may be offline or out of mesh range. Try later or move closer. |
| Got NAK | The next-hop node refused to relay | The relay node may be congested. Wait and retry. |
| Tan pase | No acknowledgment within retry window | The recipient may be just out of range. Try increasing hop limit or moving to a better position. |
| No radio interface | No radio interface available to send | Check that your radio is connected and available. |
| Failed to deliver to mesh | All retry attempts exhausted | Move closer, improve signal, or wait for mesh conditions to improve. |
| Channel/key mismatch | Destination channel/key does not match | Verify both nodes share the same channel and PSK. |
| Message is too large to send | Message exceeds maximum payload size | Shorten the message and try again. |
| No app response | App or plugin did not respond to the request | Retry or check the destination app or module state. |
| Duty cycle limit | Regional airtime limit reached | Wait for the duty cycle window to reset. |
| Invalid request | Malformed or invalid request | Retry after updating or restarting the app if this persists. |

Tff7b72> 💡 **Tip:** Most delivery errors resolve themselves. If a node is intermittently reachable, the mesh will retry. For persistent "No Route" errors, check that intermediate Router nodes are online.

Tc9d1d9## Message Features

Tc9d1d9### Quick Chat

Pre-configured messages for rapid communication:

Tff7b72- Access via the Quick Chat button in the message input area
Tff7b72- Choose from built-in phrases or custom messages
Tff7b72- Customize quick chat messages in **Settings → Quick Chat**
Tff7b72- Useful when typing is impractical (gloves, small screen, urgent)

![Tff7b72Quick chat option](Te6edf3../../assets/screenshots/messages_quick_chat.png)

Each quick chat entry has a short **Name** (the button label), the **Message** it inserts, and an **Instantly send** toggle — when enabled, tapping the button sends the message immediately instead of placing it in the input field for editing:

![Tff7b72New quick chat dialog with name, message, and instantly-send toggle](Te6edf3../../assets/screenshots/messages_edit_quick_chat.png)

The channel list shows each channel with its latest message preview.

Tc9d1d9### Searching Messages

You can search the full history of any conversation directly from the chat screen:

Tff7b721. Open a conversation (a channel or a direct message).
Tff7b722. Tap the **search icon** in the top bar.
Tff7b723. Type into the **Search messages…** field. The search runs as you type, across all stored messages in that conversation.
Tff7b724. Use the **N / M** result counter and the **previous / next arrows** to jump between matches, which are highlighted in the conversation.

![Tff7b72Message search bar with result counter and previous/next arrows](Te6edf3../../assets/screenshots/messages_search_bar.png)

Tff7b72> 💡 **Tip:** Search is full-text and stays within the conversation you opened it from — it doesn't search across other channels or contacts. It matches against the messages already stored on your device, so it works fully offline.

Tc9d1d9### Message Bubbles

Messages appear as chat bubbles — sent messages on the right, received messages on the left. Each bubble shows the sender, timestamp, and delivery status. Messages with replies include a quoted preview of the original message above the response.

Tc9d1d9### Text Formatting

Messages support lightweight inline **Markdown**. Received messages render the styling with the syntax characters removed:

| Type | Syntax | Renders as |
| ------------- | ------------------------------ | -------------------- |
| Bold | Ta5d6ff`**bold**` | **bold** |
| Italic | Ta5d6ff`*italic*` | _italic_ |
| Strikethrough | Ta5d6ff`~~strike~~` | Tf85149~~strike~~ |
| Inline code | `` Ta5d6ff`code` `` | monospace Ta5d6ff`code` |
| Link | Ta5d6ff`[label](https://example.com)` | a tappable **label** |

When composing, focus the message field and type at least three characters to reveal a **formatting toolbar** below the input. Select text and tap a style to wrap it (tap again to remove it); with no selection, a style inserts an empty pair with the cursor between the markers. The link button opens a dialog to enter a URL. As you type, the draft styles live in the field while the underlying text keeps its Markdown characters.

Tff7b72> 💡 **Tip:** Formatting is carried as literal characters on the mesh — the same bytes iOS sends. Clients that don't support Markdown (older apps, plain firmware clients) will show the raw `**`/`~~` characters. URLs, email addresses, and phone numbers are still auto-linked whether or not you use Markdown.

Tc9d1d9### Mentions

Type Ta5d6ff`@` while composing to mention a node — a picker suggests matching contacts as you type. In a received message, a mention appears as a highlighted chip showing the node's name; tap it to jump straight to that node's detail page.

Tc9d1d9### Reactions

React to messages with emoji:

Tff7b72- **Long-press** a message to open the actions menu
Tff7b72- Tap **Add Reaction** to choose an emoji
Tff7b72- Reactions appear below the message bubble
Tff7b72- Multiple users can react to the same message
Tff7b72- React to your own messages or others' messages

![Tff7b72Emoji reaction badges displayed beneath a message](Te6edf3../../assets/screenshots/messages_reaction.png)

Tff7b72> 💡 **Tip:** Reactions are lightweight — they use minimal mesh bandwidth compared to full text messages.

Tc9d1d9### Message Actions

Long-press any message to access:

Tff7b72- **Copy** — copy message text to clipboard
Tff7b72- **Reply** — quote the message in your response
Tff7b72- **React** — add an emoji reaction
Tff7b72- **Translate** — translate a received message into your device language and toggle between the original and translated text (Google Play build only; uses on-device translation)
Tff7b72- **Delete** — remove a message you sent (local deletion)

Tc9d1d9### Message Priority

Messages are queued and transmitted based on priority:

Tff7b721. Emergency/alert messages (highest)
Tff7b722. Direct messages
Tff7b723. Channel broadcasts (lowest)

Tc9d1d9### Message Limits

Tff7b72- **Maximum length:** 200 bytes (approximately 200 characters for ASCII text)
Tff7b72- The 200-byte cap applies to the in-app composer — the mesh payload limit itself is ~233 bytes, so messages from other senders (e.g., App Functions or Android Auto) may arrive slightly longer
Tff7b72- **Rate limiting:** The mesh enforces airtime fairness; heavy message volume may be throttled
Tff7b72- **Delivery:** Messages are retried automatically if no acknowledgment is received

Tc9d1d9## Best Practices

Tff7b72- Use channels for group coordination
Tff7b72- Use direct messages for private person-to-person communication
Tff7b72- Keep messages short — mesh bandwidth is limited
Tff7b72- Configure encryption for sensitive communications

Tc9d1d9## Related Topics

Tff7b72- [Tff7b72Nodes](Te6edf3nodes) — tap a node to start a direct message
Tff7b72- [Tff7b72Settings — Radio & User](Te6edf3settings-radio-user) — configure channel encryption and presets
Tff7b72- [Tff7b72MQTT](Te6edf3mqtt) — bridge channel messages to the internet
Tff7b72- [Tff7b72Channel configuration](Te6edf3https://meshtastic.org/docs/configuration/radio/channels) — detailed channel settings on meshtastic.org

---

Served by rngit 1.5.2 - Generated in 0.19s